home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d977.lha / UChess / UChessSrc.lha / autoinit.c < prev    next >
C/C++ Source or Header  |  1993-10-16  |  828b  |  58 lines

  1. #ifdef _M68020
  2. #define __DO_STI_CPUCHECK
  3. #else
  4. #ifdef _M68881
  5. #define __DO_STI_CPUCHECK
  6. #else
  7. #ifdef _M68040
  8. #define __DO_STI_CPUCHECK
  9. #else
  10. #ifdef _M68030
  11. #define __DO_STI_CPUCHECK
  12. #endif
  13. #endif
  14. #endif
  15. #endif
  16.  
  17. #ifdef __DO_STI_CPUCHECK
  18.  
  19. #include <proto/exec.h>
  20. #include <exec/execbase.h>
  21. #include <stdlib.h>
  22.  
  23. void _STI_CheckCPU(void);
  24.  
  25. void _STI_CheckCPU()
  26. {
  27.  register long cpuid;
  28.  register struct ExecBase **execbaseptr=(struct ExecBase **)4;
  29.  register struct ExecBase *execbase;
  30.  
  31.  execbase = *execbaseptr;
  32.  cpuid = execbase->AttnFlags;
  33.  
  34. #ifdef _M68020
  35.  if (!(cpuid & AFF_68020))
  36.   exit(0);
  37. #else
  38. #ifdef _M68030
  39.  if (!(cpuid & AFF_68020))
  40.   exit(0);
  41. #else
  42. #ifdef _M68040
  43.  if (!(cpuid & AFF_68020))
  44.   exit(0);
  45. #endif
  46. #endif
  47. #endif
  48.  
  49. #ifdef _M68881
  50.  if (!(cpuid & AFF_68881))
  51.   exit(0);
  52. #endif
  53. }
  54.  
  55. #undef __DO_STI_CPUCHECK
  56.  
  57. #endif
  58.